#!/bin/bash

# USB环境变量测试脚本

set -e  # 遇到错误立即退出

echo "开始USB环境变量解析测试..."

# 设置环境变量
export PROJ_ROOT=/home/apachee/trunk/Crystal/CrystalFlowAnalyzer/a9soc
echo "PROJ_ROOT设置为: $PROJ_ROOT"

# 检查环境变量是否正确设置
if [ -z "$PROJ_ROOT" ]; then
    echo "错误: PROJ_ROOT环境变量未设置"
    exit 1
fi

# 检查测试文件是否存在
TEST_FILE="$PROJ_ROOT/design/usb2/src/lsp/usb2_DWC_usb3_lsp.v"
if [ ! -f "$TEST_FILE" ]; then
    echo "错误: 测试文件不存在: $TEST_FILE"
    exit 1
fi

echo "测试文件存在: $TEST_FILE"

# 进入modb目录
cd /home/apachee/trunk/Crystal/CrystalFlowAnalyzer/modb

# 创建测试文件列表
cat > usb_env_test.list << 'EOF'
# USB环境变量测试文件列表
$PROJ_ROOT/design/usb2/src/lsp/usb2_DWC_usb3_lsp_nsr.v
$PROJ_ROOT/design/usb2/src/lsp/usb2_DWC_usb3_lsp.v
EOF

echo "创建测试文件列表完成"

# 运行moparse解析
echo "运行moparse解析..."
./moparse -f usb_env_test.list -o usb_env_test.modb

# 检查生成的文件
if [ -f "usb_env_test.modb" ]; then
    echo "成功生成modb文件"
    ls -la usb_env_test.modb
    
    # 显示文件信息
    echo "显示modb文件信息:"
    ./moparse -s usb_env_test.modb
else
    echo "错误: 未生成modb文件"
    exit 1
fi

# 清理测试文件
echo "清理测试文件..."
rm -f usb_env_test.list usb_env_test.modb

echo "USB环境变量解析测试完成!"